const express = require('express')
const path = require('path')
const router = require('./router/router.js')
const artTemplate = require('art-template')
const epxress_template = require('express-art-template')
let cookieParser = require('cookie-parser')
const session = require('express-session')
const app = express()
//引入静态资源中间件
app.use('/assets', express.static(path.join(__dirname, '/assets')))

app.use(express.json())
app.use(express.urlencoded({ extended: true }))

//实现资源共享中间件
app.set('views', __dirname + '/views');
app.engine('html', epxress_template)
app.set('view engine', 'html')

app.use(cookieParser())
// 初始化session
app.use(session({
    name: 'sessionID',
    secret: "TRF$#%^&%^12",
    cookie: {
        path: "/",
        httpOnly: true,
        maxAge: 60000 * 24, // 设置有效期为24分钟，说明：24分钟内，不访问就会过期，如果24分钟内访问了。则有效期重新初始化为24分钟。
    }
}))

// 判断哪些需要session，如果想直接进入到首页，服务器就会判断你是否有session，如果没有就会打回登录页，禁止翻墙
app.use((req,res,next)=>{
    //只要不退出，在24分钟有登录状态，服务器就会判断你是否有session，如果有就不会登录，直接进入到页面；
    let reqPath = req.path.toLowerCase()
    console.log(reqPath);
    let auth = ['/login','/userlogin']
    if(auth.includes(reqPath)){
            next()
    }else {
        if(req.session.userInfo){
            next()
        }else {
            let str1 = `<script>
            alert('禁止翻墙，返回到登录页面...');
            location.href = '/login';
            </script>`
            res.send(str1)
            return;
        }
    }
})



//导入路由路口文件
app.use(router)

app.listen(4000, () => {
    console.log('server...');
})